#include <iostream>
#include <string>
using namespace std;
typedef long IntType;
class Rational
{
private:
	int m_iCount1;
	int m_iCount2;
public:
	Rational():m_iCount2(0),m_iCount1(0)
	{}
	Rational(const int& c1,const int& c2):m_iCount1(c1),m_iCount2(c2)
	{}
	Rational(const Rational &r):m_iCount1(r.m_iCount1),m_iCount2(m_iCount2)
	{}
	operator += (const Rational & r)
	{
		m_iCount1 += r.m_iCount1;
		m_iCount2 += r.m_iCount2;
		//return *this;
	}
	operator ++()
	{
		m_iCount1++;
		m_iCount2++;
	}
	const Rational  operator*(const Rational & r)const
	{
		int i1 = m_iCount1 * r.m_iCount1;
		int i2 = m_iCount2 * r.m_iCount2;
		return Rational(i1,i2);
	}
	Display()
	{
		cout<<"Count1:   "<<m_iCount1<<"  Count2:  "<<m_iCount2<<endl;
	}
	~Rational()
	{
	}
};
void main()
{
	Rational r1(1,2);
	Rational r2(2,3);
	//r1 += r2;//.operator +=(r2);
	//r1 += r2;
	//r1.Display();
	//r1++;
	Rational r3 = r1*r2;
	//r1*r2;
	r3.Display();
}

	

